1. Technical Field
The present invention relates to filtering systems, and more particularly relates to a system and method for filtering interlaced video in the frequency domain.
2. Related Art
As digital TV gradually begins to dominate-the TV market and other digital video applications become more desirable, the demand for devices having advanced video processing capabilities becomes stronger and stronger. Accordingly, the ability to effectively process, and in particular filter, video data has become extremely important.
In digital signal processing systems, it is well recognized that data can be filtered in either the spatial domain or frequency domain. It is also well recognized that filtering in the frequency domain is much simpler (i.e., less computationally intensive). However, the cost of converting data from the spatial domain to the frequency domain and back can potentially outweigh any savings. In addition, certain types of spatial domain filters cannot be implemented in the frequency domain in an efficient manner. Thus, limitations exist on when frequency domain filtering can be effectively utilized.
Many image/video compression techniques, such as MPEG-n (including MPEG-1, MPEG-2, MPEG-4, etc.), JPEG (which is a standard for image compression), and H.26x (including H.261, H.263 . . . ), operate on data in the frequency or DCT (discreet cosine transform) domain. One such example is MPEG-2, which was designed for coding interlaced images at transmission rates above 4 million bits per second. The MPEG-2 standard is used for various applications, such as digital television (DTV) broadcasts, digital versatile disk (DVD) technology, and video storage systems.
One of the important components of any of the above compression-based systems is the decoder, which converts a bitstream of compressed data into pixel images. One of the main functional blocks found in a decoder is an inverse discrete cosine transform (IDCT) system, which converts DCT data into pixel data. Accordingly, MPEG-2 decoders and the like process frequency domain (i.e., DCT) data and include an IDCT system for converting frequency domain data to spatial domain data. Thus, in cases where filtering is required, decoders provide an excellent opportunity to effectively filter frequency domain data.
One case in which filtering is required in decoders involves down scaling, which is needed to avoid aliasing. However, when filtering interlaced pictures for downscaling purposes, different filters must be applied to the top field and bottom field of the interlaced picture. In particular, if an odd length symmetric filter is used to filter the top field, an even length filter symmetric filter is needed to filter the bottom field. The reason for this results from the fact that the bottom field needs a different phase shift to keep proper interlacing after the downscaling. The odd length symmetric filter has zero phase shift whereas the even length symmetric filter has xcfx80/2 (half pixel) phase shift. Unfortunately, an even length symmetric filter cannot be easily converted into an equivalent frequency domain filter and take the advantage of frequency domain filtering. Accordingly, a need exist to provide a frequency domain filtering system for down scaling interlaced video.
This invention overcomes the above-mentioned problems, as well as others, by providing a frequency domain filtering system that efficiently filters top and bottom field pixel data in an interlaced video.
In a first aspect, the invention provides a method for filtering interlaced video, comprising the steps of: decomposing an even length symmetric filter into a pair of identical odd length symmetric filters, wherein the pair of identical odd length symmetric filters have a one pixel phase difference; converting one of the odd length symmetric filters to a corresponding frequency domain filter; applying the corresponding frequency domain filter to a field of frequency domain pixels to generate a filtered set of frequency domain pixels; converting the filtered set of frequency domain pixels into a set of spatial domain pixels; and adding adjacent pixels from the set of spatial domain pixels to generate a filtered field of spatial domain pixels.
In a second aspect, the invention provides a decoder system for filtering interlaced video, comprising: a first filter system for processing a first field of discrete cosine transform (DCT) pixel data, wherein the first filter system comprises a DCT filter that corresponds to a first odd length symmetric spatial filter; and a second filter system for processing a second field of DCT pixel data, wherein the second filter system comprises: (a) a second DCT filter for filtering the second field of DCT pixel data and generating a set of filtered DCT pixel data, wherein the second DCT filter corresponds to a second odd length symmetric spatial filter; and (b) a spatial domain filter for combining adjacent spatial domain pixel data values.
In a third aspect, the invention provides a program product stored on a recordable medium, which when executed, filters a first and a second field of discrete cosine transform (DCT) data, the program product comprising: a first filter system having a first DCT filter corresponding to an odd length symmetric spatial filter for processing the first field; and a second filter system for processing the second field, having: (a) a second DCT filter corresponding to a second odd length symmetric spatial filter; and (b) a [1,1] filter for further filtering results from the second DCT filter.
In a fourth aspect, the invention provides a method of replicating an even length symmetric filter design required for processing a field of interlaced video data, comprising the steps of: decomposing the even length symmetric spatial filter design into two identical odd length symmetric filter designs have a one pixel phase difference therebetween; creating a discrete cosine transform (DCT) filter that corresponds to the odd length symmetric filter designs; filtering the field of interlaced video data in the DCT domain using the DCT filter to create a set of filtered DCT data; converting the set of filtered DCT data into a set of spatial domain data; and filtering the spatial domain with a [1,1] filter.